<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>libnetconf: src/session.h Source File</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="../../libnetconf-logo.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">libnetconf
   &#160;<span id="projectnumber">0.10.0-146_trunk</span>
   </div>
   <div id="projectbrief">NETCONF Library</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="../../index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="../../pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="../../modules.html"><span>Modules</span></a></li>
      <li><a href="../../annotated.html"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="../../files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="../../search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="../../files.html"><span>File&#160;List</span></a></li>
      <li><a href="../../globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('da/d46/session_8h_source.html','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle">
<div class="title">session.h</div>  </div>
</div><!--header-->
<div class="contents">
<a href="../../da/d46/session_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor">#ifndef NC_SESSION_H_</span></div>
<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define NC_SESSION_H_</span></div>
<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d2/d02/transport_8h.html">transport.h</a>&quot;</span></div>
<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="../../d3/d7a/netconf_8h.html">netconf.h</a>&quot;</span></div>
<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</div>
<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">struct </span>nc_session* <a class="code" href="../../db/d52/group__session.html#ga3868d5331db61a5d3a4df3ff5fa33851">nc_session_dummy</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* sid, <span class="keyword">const</span> <span class="keywordtype">char</span>* username, <span class="keyword">const</span> <span class="keywordtype">char</span>* hostname, <span class="keyword">struct</span> nc_cpblts *capabilities);</div>
<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;</div>
<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../db/d52/group__session.html#ga023c9c813c59588ab938108f3f063d41">nc_session_monitor</a>(<span class="keyword">struct</span> nc_session* session);</div>
<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;</div>
<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../db/d52/group__session.html#gaa5994f45a7031dc931bdf4a3acebedee">nc_session_free</a>(<span class="keyword">struct</span> nc_session* session);</div>
<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;</div>
<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<a class="code" href="../../db/d52/group__session.html#ga9fba5da8e4c50d2427d0d24e8e7b630c">NC_SESSION_STATUS</a> <a class="code" href="../../db/d52/group__session.html#gacebd018e30c3eeb0638bbb428a1741b4">nc_session_get_status</a>(<span class="keyword">const</span> <span class="keyword">struct</span> nc_session* session);</div>
<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;</div>
<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../db/d52/group__session.html#gac8ea61702127df024c037869feb72d97">nc_session_get_version</a>(<span class="keyword">const</span> <span class="keyword">struct</span> nc_session* session);</div>
<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div>
<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../db/d52/group__session.html#ga826890ed745633bc2d31a53971dada32">nc_session_get_eventfd</a>(<span class="keyword">const</span> <span class="keyword">struct</span> nc_session* session);</div>
<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;</div>
<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;<span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="../../db/d52/group__session.html#ga91012cb5ae50651916ee2239661d7603">nc_session_get_id</a>(<span class="keyword">const</span> <span class="keyword">struct</span> nc_session* session);</div>
<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;</div>
<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="../../db/d52/group__session.html#ga6399681dfce6e139cc5707af25d20bb3">nc_session_get_host</a>(<span class="keyword">const</span> <span class="keyword">struct</span> nc_session* session);</div>
<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;</div>
<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;<span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="../../db/d52/group__session.html#ga09bec340611b4b99c8c1bfb2ef3992d6">nc_session_get_port</a>(<span class="keyword">const</span> <span class="keyword">struct</span> nc_session* session);</div>
<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;</div>
<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;<span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="../../db/d52/group__session.html#gabdd090cbc50a8f7db58e5be8062296d6">nc_session_get_user</a>(<span class="keyword">const</span> <span class="keyword">struct</span> nc_session* session);</div>
<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;</div>
<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<a class="code" href="../../db/d52/group__session.html#ga8be6ccea205129b05c38331a7a42174a">NC_TRANSPORT</a> <a class="code" href="../../db/d52/group__session.html#ga1eae5ae3f6460dcc849733f0965c133c">nc_session_get_transport</a>(<span class="keyword">const</span> <span class="keyword">struct</span> nc_session* session);</div>
<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;</div>
<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../db/d52/group__session.html#gafd3b69869e102a4625a5ffb490b4d70f">nc_session_notif_allowed</a>(<span class="keyword">struct</span> nc_session *session);</div>
<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;</div>
<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="keyword">struct </span>nc_cpblts* <a class="code" href="../../db/d52/group__session.html#ga09bdf1d9eacf9f53bf3f05557ffe0821">nc_session_get_cpblts</a>(<span class="keyword">const</span> <span class="keyword">struct</span> nc_session* session);</div>
<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div>
<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="keyword">struct </span>nc_cpblts *<a class="code" href="../../db/d52/group__session.html#gabdd04a64fd465ebbf910c6b08393ac43">nc_cpblts_new</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> list[]);</div>
<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;</div>
<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../db/d52/group__session.html#ga6465c58b3ca057b46655d5ffa90caff3">nc_cpblts_free</a>(<span class="keyword">struct</span> nc_cpblts *c);</div>
<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;</div>
<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../db/d52/group__session.html#ga2ea9b318015206d886c7e54386fc85e3">nc_cpblts_add</a>(<span class="keyword">struct</span> nc_cpblts *capabilities, <span class="keyword">const</span> <span class="keywordtype">char</span>* capability_string);</div>
<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;</div>
<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../db/d52/group__session.html#gacb59cf4fa78bf02c22afac395acf0693">nc_cpblts_remove</a>(<span class="keyword">struct</span> nc_cpblts *capabilities, <span class="keyword">const</span> <span class="keywordtype">char</span>* capability_string);</div>
<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;</div>
<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../db/d52/group__session.html#gaa8325078c33d25a7cf48e1ed9d417ff4">nc_cpblts_enabled</a>(<span class="keyword">const</span> <span class="keyword">struct</span> nc_session* session, <span class="keyword">const</span> <span class="keywordtype">char</span>* capability_string);</div>
<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;</div>
<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;<span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="../../db/d52/group__session.html#gabed55135f1868bef5f266737b8862aa4">nc_cpblts_get</a>(<span class="keyword">const</span> <span class="keyword">struct</span> nc_cpblts *c, <span class="keyword">const</span> <span class="keywordtype">char</span>* capability_string);</div>
<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;</div>
<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;<span class="keywordtype">void</span> <a class="code" href="../../db/d52/group__session.html#gae92c774e940114b4733f85e186d84620">nc_cpblts_iter_start</a>(<span class="keyword">struct</span> nc_cpblts *c);</div>
<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;</div>
<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;<span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="../../db/d52/group__session.html#gaea2ced8d4e5f2cc9971680e49f876c58">nc_cpblts_iter_next</a>(<span class="keyword">struct</span> nc_cpblts *c);</div>
<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;</div>
<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../db/d52/group__session.html#ga79a7aea77cbfe29535eb83a6e5c60419">nc_cpblts_count</a>(<span class="keyword">const</span> <span class="keyword">struct</span> nc_cpblts *c);</div>
<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;</div>
<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;<span class="keyword">struct </span>nc_cpblts *<a class="code" href="../../db/d52/group__session.html#ga8283673aa18f079a89a437efb436a55a">nc_session_get_cpblts_default</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;</div>
<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;<span class="keyword">const</span> <a class="code" href="../../db/d52/group__session.html#ga85043314eec3f4f8c53234d9af1f2d41">nc_msgid</a> <a class="code" href="../../db/de9/group__rpc.html#gaeb0d93ea1b5ef0c22c9e5372425fb5c3">nc_session_send_rpc</a>(<span class="keyword">struct</span> nc_session* session, <a class="code" href="../../db/de9/group__rpc.html#gab21d1d39737065c552f2ccc5b4819262">nc_rpc</a> *rpc);</div>
<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;</div>
<div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;<span class="keyword">const</span> <a class="code" href="../../db/d52/group__session.html#ga85043314eec3f4f8c53234d9af1f2d41">nc_msgid</a> <a class="code" href="../../d0/de2/group__reply.html#ga0b344811af933d80615f0874650938cc">nc_session_send_reply</a>(<span class="keyword">struct</span> nc_session* session, <span class="keyword">const</span> <a class="code" href="../../db/de9/group__rpc.html#gab21d1d39737065c552f2ccc5b4819262">nc_rpc</a>* rpc, <span class="keyword">const</span> <a class="code" href="../../d0/de2/group__reply.html#ga40338a1274759a932a7c2c7b8ed0121d">nc_reply</a> *reply);</div>
<div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;</div>
<div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../da/d54/group__notifications.html#ga2a6cd8e0aaaaf4e1b84d3a498a2a710c">nc_session_send_notif</a>(<span class="keyword">struct</span> nc_session* session, <span class="keyword">const</span> <a class="code" href="../../da/d54/group__notifications.html#ga3c2f8ca237327fcf3c871544f414bdfe">nc_ntf</a>* ntf);</div>
<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;</div>
<div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;<a class="code" href="../../d3/d35/group__gen_a_p_i.html#ga298c7a4ad5cc76169a211f86df90f057">NC_MSG_TYPE</a> <a class="code" href="../../db/de9/group__rpc.html#ga214fcc2c0095d56f4aa0d90c11da25fc">nc_session_recv_rpc</a>(<span class="keyword">struct</span> nc_session* session, <span class="keywordtype">int</span> timeout, <a class="code" href="../../db/de9/group__rpc.html#gab21d1d39737065c552f2ccc5b4819262">nc_rpc</a>** rpc);</div>
<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;</div>
<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;<a class="code" href="../../d3/d35/group__gen_a_p_i.html#ga298c7a4ad5cc76169a211f86df90f057">NC_MSG_TYPE</a> <a class="code" href="../../d0/de2/group__reply.html#ga1b8c8ca9516003938e8f647bd870beaa">nc_session_recv_reply</a>(<span class="keyword">struct</span> nc_session* session, <span class="keywordtype">int</span> timeout, <a class="code" href="../../d0/de2/group__reply.html#ga40338a1274759a932a7c2c7b8ed0121d">nc_reply</a>** reply);</div>
<div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;</div>
<div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;<a class="code" href="../../d3/d35/group__gen_a_p_i.html#ga298c7a4ad5cc76169a211f86df90f057">NC_MSG_TYPE</a> <a class="code" href="../../da/d54/group__notifications.html#gad7ffa424401e8004fb24f9f77f0bb5be">nc_session_recv_notif</a>(<span class="keyword">struct</span> nc_session* session, <span class="keywordtype">int</span> timeout, <a class="code" href="../../da/d54/group__notifications.html#ga3c2f8ca237327fcf3c871544f414bdfe">nc_ntf</a>** ntf);</div>
<div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;</div>
<div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;<span class="keywordtype">int</span> <a class="code" href="../../d3/d35/group__gen_a_p_i.html#gae160a70158f957344eb3204987329632">nc_msgid_compare</a>(<span class="keyword">const</span> <a class="code" href="../../db/d52/group__session.html#ga85043314eec3f4f8c53234d9af1f2d41">nc_msgid</a> id1, <span class="keyword">const</span> <a class="code" href="../../db/d52/group__session.html#ga85043314eec3f4f8c53234d9af1f2d41">nc_msgid</a> id2);</div>
<div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;</div>
<div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;<a class="code" href="../../d3/d35/group__gen_a_p_i.html#ga298c7a4ad5cc76169a211f86df90f057">NC_MSG_TYPE</a> <a class="code" href="../../db/de9/group__rpc.html#ga27d3fe78769630932a18c726df4fe6e6">nc_session_send_recv</a>(<span class="keyword">struct</span> nc_session* session, <a class="code" href="../../db/de9/group__rpc.html#gab21d1d39737065c552f2ccc5b4819262">nc_rpc</a> *rpc, <a class="code" href="../../d0/de2/group__reply.html#ga40338a1274759a932a7c2c7b8ed0121d">nc_reply</a>** reply);</div>
<div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;</div>
<div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;<span class="preprocessor"></span>}</div>
<div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* NC_SESSION_H_ */</span><span class="preprocessor"></span></div>
<div class="ttc" id="group__session_html_gaea2ced8d4e5f2cc9971680e49f876c58"><div class="ttname"><a href="../../db/d52/group__session.html#gaea2ced8d4e5f2cc9971680e49f876c58">nc_cpblts_iter_next</a></div><div class="ttdeci">const char * nc_cpblts_iter_next(struct nc_cpblts *c)</div><div class="ttdoc">Get the next capability string from the given NETCONF capabilities structure. </div></div>
<div class="ttc" id="group__session_html_ga8be6ccea205129b05c38331a7a42174a"><div class="ttname"><a href="../../db/d52/group__session.html#ga8be6ccea205129b05c38331a7a42174a">NC_TRANSPORT</a></div><div class="ttdeci">NC_TRANSPORT</div><div class="ttdoc">Supported NETCONF transport protocols enumeration. To change currently used transport protocol...</div><div class="ttdef"><b>Definition:</b> netconf.h:410</div></div>
<div class="ttc" id="group__session_html_ga6465c58b3ca057b46655d5ffa90caff3"><div class="ttname"><a href="../../db/d52/group__session.html#ga6465c58b3ca057b46655d5ffa90caff3">nc_cpblts_free</a></div><div class="ttdeci">void nc_cpblts_free(struct nc_cpblts *c)</div><div class="ttdoc">Free NETCONF capabilities structure. </div></div>
<div class="ttc" id="group__session_html_ga023c9c813c59588ab938108f3f063d41"><div class="ttname"><a href="../../db/d52/group__session.html#ga023c9c813c59588ab938108f3f063d41">nc_session_monitor</a></div><div class="ttdeci">int nc_session_monitor(struct nc_session *session)</div><div class="ttdoc">Add the session into the internal list of monitored sessions that are returned as part of netconf-sta...</div></div>
<div class="ttc" id="group__session_html_gae92c774e940114b4733f85e186d84620"><div class="ttname"><a href="../../db/d52/group__session.html#gae92c774e940114b4733f85e186d84620">nc_cpblts_iter_start</a></div><div class="ttdeci">void nc_cpblts_iter_start(struct nc_cpblts *c)</div><div class="ttdoc">Move NETCONF capabilities structure iterator to the beginning of the capability strings list...</div></div>
<div class="ttc" id="transport_8h_html"><div class="ttname"><a href="../../d2/d02/transport_8h.html">transport.h</a></div><div class="ttdoc">Functions implementing transport layer for NETCONF. </div></div>
<div class="ttc" id="group__notifications_html_gad7ffa424401e8004fb24f9f77f0bb5be"><div class="ttname"><a href="../../da/d54/group__notifications.html#gad7ffa424401e8004fb24f9f77f0bb5be">nc_session_recv_notif</a></div><div class="ttdeci">NC_MSG_TYPE nc_session_recv_notif(struct nc_session *session, int timeout, nc_ntf **ntf)</div><div class="ttdoc">Receive a &lt;notification&gt; message from the specified NETCONF session. This function is supposed to be ...</div></div>
<div class="ttc" id="group__session_html_ga09bdf1d9eacf9f53bf3f05557ffe0821"><div class="ttname"><a href="../../db/d52/group__session.html#ga09bdf1d9eacf9f53bf3f05557ffe0821">nc_session_get_cpblts</a></div><div class="ttdeci">struct nc_cpblts * nc_session_get_cpblts(const struct nc_session *session)</div><div class="ttdoc">Get list of capabilities associated with the session. </div></div>
<div class="ttc" id="group__session_html_ga1eae5ae3f6460dcc849733f0965c133c"><div class="ttname"><a href="../../db/d52/group__session.html#ga1eae5ae3f6460dcc849733f0965c133c">nc_session_get_transport</a></div><div class="ttdeci">NC_TRANSPORT nc_session_get_transport(const struct nc_session *session)</div><div class="ttdoc">Get transport protocol used for the NETCONF session. </div></div>
<div class="ttc" id="group__session_html_ga3868d5331db61a5d3a4df3ff5fa33851"><div class="ttname"><a href="../../db/d52/group__session.html#ga3868d5331db61a5d3a4df3ff5fa33851">nc_session_dummy</a></div><div class="ttdeci">struct nc_session * nc_session_dummy(const char *sid, const char *username, const char *hostname, struct nc_cpblts *capabilities)</div><div class="ttdoc">Create a disconnected session structure. </div></div>
<div class="ttc" id="group__gen_a_p_i_html_gae160a70158f957344eb3204987329632"><div class="ttname"><a href="../../d3/d35/group__gen_a_p_i.html#gae160a70158f957344eb3204987329632">nc_msgid_compare</a></div><div class="ttdeci">int nc_msgid_compare(const nc_msgid id1, const nc_msgid id2)</div><div class="ttdoc">Compare two message IDs if they are the same. </div></div>
<div class="ttc" id="group__session_html_ga2ea9b318015206d886c7e54386fc85e3"><div class="ttname"><a href="../../db/d52/group__session.html#ga2ea9b318015206d886c7e54386fc85e3">nc_cpblts_add</a></div><div class="ttdeci">int nc_cpblts_add(struct nc_cpblts *capabilities, const char *capability_string)</div><div class="ttdoc">Add another capability string into the NETCONF capabilities structure. </div></div>
<div class="ttc" id="group__session_html_ga9fba5da8e4c50d2427d0d24e8e7b630c"><div class="ttname"><a href="../../db/d52/group__session.html#ga9fba5da8e4c50d2427d0d24e8e7b630c">NC_SESSION_STATUS</a></div><div class="ttdeci">NC_SESSION_STATUS</div><div class="ttdoc">Enumeration of the possible states of a NETCONF session. </div><div class="ttdef"><b>Definition:</b> netconf.h:109</div></div>
<div class="ttc" id="group__reply_html_ga40338a1274759a932a7c2c7b8ed0121d"><div class="ttname"><a href="../../d0/de2/group__reply.html#ga40338a1274759a932a7c2c7b8ed0121d">nc_reply</a></div><div class="ttdeci">struct nc_msg nc_reply</div><div class="ttdoc">reply message. </div><div class="ttdef"><b>Definition:</b> netconf.h:62</div></div>
<div class="ttc" id="group__session_html_gaa8325078c33d25a7cf48e1ed9d417ff4"><div class="ttname"><a href="../../db/d52/group__session.html#gaa8325078c33d25a7cf48e1ed9d417ff4">nc_cpblts_enabled</a></div><div class="ttdeci">int nc_cpblts_enabled(const struct nc_session *session, const char *capability_string)</div><div class="ttdoc">Check if the given capability is supported by the session. </div></div>
<div class="ttc" id="group__session_html_gacebd018e30c3eeb0638bbb428a1741b4"><div class="ttname"><a href="../../db/d52/group__session.html#gacebd018e30c3eeb0638bbb428a1741b4">nc_session_get_status</a></div><div class="ttdeci">NC_SESSION_STATUS nc_session_get_status(const struct nc_session *session)</div><div class="ttdoc">Get information about the session current status. </div></div>
<div class="ttc" id="group__notifications_html_ga2a6cd8e0aaaaf4e1b84d3a498a2a710c"><div class="ttname"><a href="../../da/d54/group__notifications.html#ga2a6cd8e0aaaaf4e1b84d3a498a2a710c">nc_session_send_notif</a></div><div class="ttdeci">int nc_session_send_notif(struct nc_session *session, const nc_ntf *ntf)</div><div class="ttdoc">Send &lt;notification&gt; message from server to client. </div></div>
<div class="ttc" id="group__session_html_gafd3b69869e102a4625a5ffb490b4d70f"><div class="ttname"><a href="../../db/d52/group__session.html#gafd3b69869e102a4625a5ffb490b4d70f">nc_session_notif_allowed</a></div><div class="ttdeci">int nc_session_notif_allowed(struct nc_session *session)</div><div class="ttdoc">Tell me if the notification subscription is allowed on the given session. </div></div>
<div class="ttc" id="group__notifications_html_ga3c2f8ca237327fcf3c871544f414bdfe"><div class="ttname"><a href="../../da/d54/group__notifications.html#ga3c2f8ca237327fcf3c871544f414bdfe">nc_ntf</a></div><div class="ttdeci">struct nc_msg nc_ntf</div><div class="ttdoc">Event notification message. </div><div class="ttdef"><b>Definition:</b> netconf.h:68</div></div>
<div class="ttc" id="group__session_html_ga8283673aa18f079a89a437efb436a55a"><div class="ttname"><a href="../../db/d52/group__session.html#ga8283673aa18f079a89a437efb436a55a">nc_session_get_cpblts_default</a></div><div class="ttdeci">struct nc_cpblts * nc_session_get_cpblts_default(void)</div><div class="ttdoc">Get NULL terminated list of the default capabilities supported by libnetconf including the list of na...</div></div>
<div class="ttc" id="group__session_html_ga79a7aea77cbfe29535eb83a6e5c60419"><div class="ttname"><a href="../../db/d52/group__session.html#ga79a7aea77cbfe29535eb83a6e5c60419">nc_cpblts_count</a></div><div class="ttdeci">int nc_cpblts_count(const struct nc_cpblts *c)</div><div class="ttdoc">Get the number of capabilities in the structure. </div></div>
<div class="ttc" id="group__rpc_html_gaeb0d93ea1b5ef0c22c9e5372425fb5c3"><div class="ttname"><a href="../../db/de9/group__rpc.html#gaeb0d93ea1b5ef0c22c9e5372425fb5c3">nc_session_send_rpc</a></div><div class="ttdeci">const nc_msgid nc_session_send_rpc(struct nc_session *session, nc_rpc *rpc)</div><div class="ttdoc">Send &lt;rpc&gt; request via specified NETCONF session. This function is supposed to be performed only by N...</div></div>
<div class="ttc" id="group__session_html_ga826890ed745633bc2d31a53971dada32"><div class="ttname"><a href="../../db/d52/group__session.html#ga826890ed745633bc2d31a53971dada32">nc_session_get_eventfd</a></div><div class="ttdeci">int nc_session_get_eventfd(const struct nc_session *session)</div><div class="ttdoc">Get the input file descriptor to asynchronous control of input events. </div></div>
<div class="ttc" id="group__session_html_gabdd04a64fd465ebbf910c6b08393ac43"><div class="ttname"><a href="../../db/d52/group__session.html#gabdd04a64fd465ebbf910c6b08393ac43">nc_cpblts_new</a></div><div class="ttdeci">struct nc_cpblts * nc_cpblts_new(const char *const list[])</div><div class="ttdoc">Create a new NETCONF capabilities structure. </div></div>
<div class="ttc" id="group__rpc_html_gab21d1d39737065c552f2ccc5b4819262"><div class="ttname"><a href="../../db/de9/group__rpc.html#gab21d1d39737065c552f2ccc5b4819262">nc_rpc</a></div><div class="ttdeci">struct nc_msg nc_rpc</div><div class="ttdoc">rpc message. </div><div class="ttdef"><b>Definition:</b> netconf.h:56</div></div>
<div class="ttc" id="group__reply_html_ga0b344811af933d80615f0874650938cc"><div class="ttname"><a href="../../d0/de2/group__reply.html#ga0b344811af933d80615f0874650938cc">nc_session_send_reply</a></div><div class="ttdeci">const nc_msgid nc_session_send_reply(struct nc_session *session, const nc_rpc *rpc, const nc_reply *reply)</div><div class="ttdoc">Send &lt;rpc-reply&gt; response via specified NETCONF session. This function is supposed to be performed on...</div></div>
<div class="ttc" id="group__gen_a_p_i_html_ga298c7a4ad5cc76169a211f86df90f057"><div class="ttname"><a href="../../d3/d35/group__gen_a_p_i.html#ga298c7a4ad5cc76169a211f86df90f057">NC_MSG_TYPE</a></div><div class="ttdeci">NC_MSG_TYPE</div><div class="ttdoc">Enumeration of NETCONF message types. </div><div class="ttdef"><b>Definition:</b> netconf.h:136</div></div>
<div class="ttc" id="group__session_html_gabed55135f1868bef5f266737b8862aa4"><div class="ttname"><a href="../../db/d52/group__session.html#gabed55135f1868bef5f266737b8862aa4">nc_cpblts_get</a></div><div class="ttdeci">const char * nc_cpblts_get(const struct nc_cpblts *c, const char *capability_string)</div><div class="ttdoc">Get complete capability string including parameters. </div></div>
<div class="ttc" id="group__reply_html_ga1b8c8ca9516003938e8f647bd870beaa"><div class="ttname"><a href="../../d0/de2/group__reply.html#ga1b8c8ca9516003938e8f647bd870beaa">nc_session_recv_reply</a></div><div class="ttdeci">NC_MSG_TYPE nc_session_recv_reply(struct nc_session *session, int timeout, nc_reply **reply)</div><div class="ttdoc">Receive &lt;rpc-reply&gt; response from the specified NETCONF session. This function is supposed to be perf...</div></div>
<div class="ttc" id="group__session_html_gac8ea61702127df024c037869feb72d97"><div class="ttname"><a href="../../db/d52/group__session.html#gac8ea61702127df024c037869feb72d97">nc_session_get_version</a></div><div class="ttdeci">int nc_session_get_version(const struct nc_session *session)</div><div class="ttdoc">Get NETCONF protocol version used in the given session. </div></div>
<div class="ttc" id="group__session_html_gacb59cf4fa78bf02c22afac395acf0693"><div class="ttname"><a href="../../db/d52/group__session.html#gacb59cf4fa78bf02c22afac395acf0693">nc_cpblts_remove</a></div><div class="ttdeci">int nc_cpblts_remove(struct nc_cpblts *capabilities, const char *capability_string)</div><div class="ttdoc">Remove the specified capability string from the NETCONF capabilities structure. </div></div>
<div class="ttc" id="group__session_html_ga09bec340611b4b99c8c1bfb2ef3992d6"><div class="ttname"><a href="../../db/d52/group__session.html#ga09bec340611b4b99c8c1bfb2ef3992d6">nc_session_get_port</a></div><div class="ttdeci">const char * nc_session_get_port(const struct nc_session *session)</div><div class="ttdoc">Get NETCONF session port number. </div></div>
<div class="ttc" id="group__session_html_ga85043314eec3f4f8c53234d9af1f2d41"><div class="ttname"><a href="../../db/d52/group__session.html#ga85043314eec3f4f8c53234d9af1f2d41">nc_msgid</a></div><div class="ttdeci">#define nc_msgid</div><div class="ttdoc">Type representing NETCONF message-id attribute. </div><div class="ttdef"><b>Definition:</b> netconf.h:91</div></div>
<div class="ttc" id="group__session_html_gaa5994f45a7031dc931bdf4a3acebedee"><div class="ttname"><a href="../../db/d52/group__session.html#gaa5994f45a7031dc931bdf4a3acebedee">nc_session_free</a></div><div class="ttdeci">void nc_session_free(struct nc_session *session)</div><div class="ttdoc">Cleanup the session structure and free all the allocated resources. </div></div>
<div class="ttc" id="group__rpc_html_ga27d3fe78769630932a18c726df4fe6e6"><div class="ttname"><a href="../../db/de9/group__rpc.html#ga27d3fe78769630932a18c726df4fe6e6">nc_session_send_recv</a></div><div class="ttdeci">NC_MSG_TYPE nc_session_send_recv(struct nc_session *session, nc_rpc *rpc, nc_reply **reply)</div><div class="ttdoc">Send &lt;rpc&gt; and receive &lt;rpc-reply&gt; via the specified NETCONF session. </div></div>
<div class="ttc" id="netconf_8h_html"><div class="ttname"><a href="../../d3/d7a/netconf_8h.html">netconf.h</a></div><div class="ttdoc">libnetconf&#39;s general public functions and structures definitions. </div></div>
<div class="ttc" id="group__session_html_gabdd090cbc50a8f7db58e5be8062296d6"><div class="ttname"><a href="../../db/d52/group__session.html#gabdd090cbc50a8f7db58e5be8062296d6">nc_session_get_user</a></div><div class="ttdeci">const char * nc_session_get_user(const struct nc_session *session)</div><div class="ttdoc">Get NETCONF session username. </div></div>
<div class="ttc" id="group__rpc_html_ga214fcc2c0095d56f4aa0d90c11da25fc"><div class="ttname"><a href="../../db/de9/group__rpc.html#ga214fcc2c0095d56f4aa0d90c11da25fc">nc_session_recv_rpc</a></div><div class="ttdeci">NC_MSG_TYPE nc_session_recv_rpc(struct nc_session *session, int timeout, nc_rpc **rpc)</div><div class="ttdoc">Receive &lt;rpc&gt; request from the specified NETCONF session. This function is supposed to be performed o...</div></div>
<div class="ttc" id="group__session_html_ga91012cb5ae50651916ee2239661d7603"><div class="ttname"><a href="../../db/d52/group__session.html#ga91012cb5ae50651916ee2239661d7603">nc_session_get_id</a></div><div class="ttdeci">const char * nc_session_get_id(const struct nc_session *session)</div><div class="ttdoc">Get NETCONF session ID. </div></div>
<div class="ttc" id="group__session_html_ga6399681dfce6e139cc5707af25d20bb3"><div class="ttname"><a href="../../db/d52/group__session.html#ga6399681dfce6e139cc5707af25d20bb3">nc_session_get_host</a></div><div class="ttdeci">const char * nc_session_get_host(const struct nc_session *session)</div><div class="ttdoc">Get NETCONF session host. </div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="../../dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="../../da/d46/session_8h.html">session.h</a></li>
    <li class="footer">Generated on Fri Apr 15 2016 09:20:09 for libnetconf by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.6 </li>
  </ul>
</div>
</body>
</html>
